1. Field of the Invention
The present invention relates to a distributed video coding (DVC) apparatus and method capable of improving video coding performance, and more particularly, to a DVC apparatus and method having low complexity by controlling an encoding rate.
This work was supported by the IT R&D program of MIC/IITA [2005-S-077-03, titled: Development of On-chip Network-based SoC Platform].
2. Description of the Related Art
Nowadays, there are many applications related on video coding technology capable of accurately transmitting an image received from a camera. However, in applications using a wireless sensor network or small camera chips, terminals such as cameras and sensors have a limitation in processing abilities and the life span of batteries.
When encoding a large amount of image data received from a terminal, high compression rate is required to reduce data transmission costs, a small amount of calculation is required to maintain the life span of batteries, and encoding robust to a channel loss should be performed.
In response to requirements, there are provided Slepian-Wolf theory according to “Noiseless coding of correlated information sources (D. Slepian and J. Wolf, IEEE Transactions on Information Theory, vol. 19, pp. 471-480, July 1973.)” and distributed video coding (DVC) technique based on Wyner-Ziv theories according to “The rate-distortion function for source coding with side information at the decoder (A. D. Wyner and J. Ziv, IEEE Transactions on Information Theory, vol. 22, pp. 1-10, January 1976.)”.
Such DVC technique is an image coding method to transfer complexity of encoders to decoders, in which lots of calculations of encoders may be transferred to decoders and it is possible to satisfy limitations in processing abilities and limited life span of batteries while maintaining identical rate-distortion.
To control a bit rate, most of coding methods using such DVC technique use feedback channels. When using feedback channels, to decode a Wyner-Ziv frame, it is required to perform many operations. Accordingly, use of feedback channels increases delays and complexity.
As coding methods using DVC technique, there is PRISM (Power-efficient, Robust, high-compression, Syndrome-based Multimedia coding) (refer to “PRISM: A video coding architecture based on distributed compression principles”, R. Puri and K. Ramchandran, ERL Technical Report, pp. 93-102, March 2003.).
The PRISM is a coding method having low complexity and using distributed source coding, which is robust to errors and based on decoder movement estimation. According to experiments, the PRISM does not require feedback but provides very robust characteristics on errors. However, due to a limitation on performance and poor flexibility thereof, the PRISM has not been used in these days.
As another method, there is a method of Girod et al. using turbo codes (refer to “Distributed video coding”, B. Girod, A. Aaron, S. Raneand D. R. Monedero, Proceedings of the IEEE, Special Issue on Video Coding and Delivery, pp. 71-88, January 2005.).
In the case of this method, an intra-frame is compressed in an encoder and an inter-frame is compressed in a decoder. Images are divided into key frames and Wyner-Ziv frames. Key frames are encoded using general intra-frame codecs, and Wyner-Ziv frames that are present between the key frames are encoded using intra-frame codecs and decoded using inter-frame decoding rather than intra-frame decoding. This method is based on Slepian-Wolf coder and uses a rate compatible punctured turbo code (RCPT).
In this case, a decoder generates side information using previously decoded key frames and Wyner-Ziv frames to decode each Wyner-Ziv frame. A turbo decoder decodes a Wyner-Ziv frame using the side information and transmitted parity bits.
There is currently provided a DVC method by research groups of Stanford University, (refer to “Wyner-Ziv video coding with hash-based motion compensation at the receiver”, A. Aaron, S. Rane and B. Girod, Proceedings of IEEE International Conference on Image Processing, pp. 3097-3100, October 2004.). In the case of the method, an encoder generates and transmits additional information on present Wyner-Ziv frames in such a way that a decoder is capable of generating more accurate side information.
However, most of the described methods have fundamental defects caused by using feedback channels. That is, to decode a present Wyner-Ziv frame at a decoder, it is required to transmit corresponding information at an encoder. In this case, a feedback channel is generated in such a way that decoder is capable of obtaining parity bits from the encoder. Though it is possible to properly maintain a bit rate by using feedback channels, unnecessary delays occur and an amount of calculation performed at the decoder increases.
To improve this, it is required to reduce the number of feedbacks or remove feedback channels by controlling an encoding rate of Wyner-Ziv frames in coding methods using the DVC technique. The bit rate of Wyner-Ziv frames transferred from an encoder to a decoder is greatly affected by side information generated at the decoder. For example, as video quality of the side information of the decoder is excellent, a bit rate of Wyner-Ziv that should be sent by the encoder is reduced.
However, since the encoder is unaware of the side information generated at the decoder, a proper bit rate of Wyner-Ziv frames that should be sent to the decoder is unknown. There are provided several solutions related to this, as follows.
There is provided a method of calculating a bit rate of a decoder by previously rehearsing operation of a decode at an encoder in “Encoder Rate Control (ERC) for Transform Domain Wyner-Ziv Video Coding”, (refer to C. Brites, F. Pereira, IEEE International Conference on Image Processing, San Antonio, Tex., USA, September 2007.). However, a considerable amount of calculation should be executed at the encoder.
In detail, an ERC module of the method considers that the operation of the decoder is executed using neighbor frames of an original Wyner-Ziv frame to estimate a required bit rate of the decoder. Accordingly, the ERC module calculates the required bit rate. At the encoder, to obtain side information, the bit rate may be applied to a module generating side information with low complexity.
Also, at the encoder, the bit rate may be obtained by calculating the entropy of the side information. Accordingly, in the case of this method, the required bit rate of the decoder may be well estimated but the amount of calculation executed at the encoder may be increased.
As another method, there is provided a system in “Unidirectional Distributed Video Coding for low cost video Encoding (W. A. R. J. Weerakkody, W. A. C. Fernando, IEEE Transactions on Consumer Electronics, Vol. 53, No. 2, pp. 788-795, 2007)”. In the system, a user inputs a puncturing pattern to control a parity bit rate of an encoder. In this case, the encoder determines a parity puncturing pattern in bit rate control to remove feedback channels, by using blind technique. An input of a user determines a bit rate of each bit plane. At a first bit plane, ⅛ is sent. As a bit plane becomes higher, a parity bit rate gradually increases. Accordingly, as a bit plane becomes higher, a noise level of side information increases.
As described above, since conventional DVC methods use feedback channels, decoding is delayed and complexity of a decoder increases. To solve the problems, there are provided several methods. However, instead of solving the problems, an amount of calculation executed at an encoder increases to estimate a bit rate of the decoder, which is another problem.